// 验证用户名  4到16位（字母，数字，下划线）
const uPattern = /^([a-zA-Z0-9_]|[\u4e00-\u9fa5]){3,8}$/
export var validateUname = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入账号'))
  } else if (!uPattern.test(value)) {
    callback(new Error('4到8位（中文,字母，数字，下划线'))
  } else {
    callback()
  }
}
// 验证密码  3到8位（字母，数字，下划线）
const pPattern = /^[a-zA-Z0-9_]{3,9}$/
export var validatePasswad = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入密码'))
  } else if (!pPattern.test(value)) {
    callback(new Error('3到9位（字母，数字，下划线）'))
  } else {
    callback()
  }
}

// 验证用户组的函数
export var validateGroup = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请选择用户组'))
  } else {
    callback()
  }
}

// 导出修改密码的验证方式
// 新密码
export var validateNewPass = (str, o) => {
  return (rule, value, callback) => {
    if (value === '') {
      callback(new Error(`请输入${str}`))
    } else if (!pPattern.test(value)) {
      callback(new Error('3到9位（字母，数字，下划线）'))
    } else {
      if (o.passForm.checkPass !== '') {
        o.$refs.ruleForm.validateField('checkPass')
      }
      callback()
    }
  }
}

// 导出确认新密码的功能
export var validateCheckPass = (str, o) => {
  return (rule, value, callback) => {
    if (value === '') {
      callback(new Error(`请输入${str}`))
    } else if (!pPattern.test(value)) {
      callback(new Error('3到9位（字母，数字，下划线）'))
    } else {
      if (o.passForm.newPass !== value) {
        callback(new Error('两次密码不一致'))
      }
      callback()
    }
  }
}
